![]() computer-implemented method to control the preparation of a coffee drink, and computer-readable medi
专利摘要:
METHOD IMPLEMENTED IN COMPUTER TO CONTROL THE PREPARATION OF A COFFEE DRINK, MEDIA READABLE BY COMPUTER, AND, COFFEE GRINDER. Computer-implemented method to control the preparation of a coffee drink and computer-readable media storing instructions for performing such a method are presented. The method involves receiving an identifier for the coffee drink, the identifier associated with a set of preparation parameters used to make the coffee drink, and retrieving the set of preparation parameters from a database storing the set of parameters preparation using the identifier. 公开号:BR112015022341B1 申请号:R112015022341-9 申请日:2014-03-11 公开日:2021-01-19 发明作者:Neil M. Day 申请人:Neil M. DAY; IPC主号:
专利说明:
CROSS REFERENCE TO RELATED ORDER (S) [001] This order claims the benefit of US Non-Provisional Order No. 14 / 205,044 filed on March 11, 2014, and US Provisional Order No. 61 / 776,619 filed on March 11, 2013, which are incorporated here for reference . FUNDAMENTALS 1. Field of the Invention [002] The invention relates to a method and an apparatus for preparing a coffee drink and particularly for reproducing a coffee drink of a desired taste. 2. Related technique [003] Coffee drinks are popular drinks in various parts of the world and have been consumed for thousands of years. A "coffee drink", as used here, refers to a liquid that is prepared using coffee beans and water, often for consumption as a beverage. FIG. 1 shows a basic coffee preparation process 10 for preparing a coffee drink from roasted coffee beans. IN SI 1, roasted coffee beans are ground into small pieces. Then, the ground coffee beans (coffee grounds) are placed in contact with hot water in a way that allows the compounds in the coffee beans to be extracted into the water (S12). The solid lees are separated from the liquid portion that ends in the coffee drink (S13). [004] Various methods and devices exist to bring the ground coffee beans into contact with hot water (S12) and to separate the remaining solid lees (S13) to produce coffee drinks. Devices include, for example, strainers, vacuum pot, French press, electric coffee makers, and espresso machine. [005] FIGS. 2A and 2B illustrate methods for preparing (S12 and S13) a coffee drink from ground coffee beans using, respectively, a French press and an Aeropress® (Aerobie®, Inc.). FIG. 2C illustrates the principles for preparing (S12 and S13) espresso from ground coffee beans. In the French press device 21 of FIG. 2A, ground coffee beans (lees) 2120 and hot water 2130 are mixed in a container 2110, for example, a glass cylinder. The lees 2120 and the hot water are left to immerse for a period of time. A plunger 2150 that includes a 2170 mesh filter is then pushed down through the liquid, taking the lees 2120 and attaching them to the bottom of the container 2110. The coffee drink 2180 in the container 2110 is above the filter 2170, separated from the lees 2120 that are in the background. [006] On the AeroPress® 22 device of FIG. 2B, a filter 2220 is positioned over the openings 2230 at the bottom of a cylindrical fastener 2250. The lees 2120 and the hot water 2130 are mixed together and left to immerse over the filter 2220 for a period of time. Then, a plunger 2260, which makes an airtight seal with the cylindrical clamp 2250, is used to force liquid 2280 (which is a coffee drink) through filter 2220 into a 2290 receiving vessel. above filter 2220. The French press device 21 and the AeroPress® 22 device differ in that pressure is applied to the AeroPress® to force liquid through the ground coffee beans as it exits the cylindrical holder. [007] To make an espresso drink, as shown in FIG. 2C, the lees 2120 are first compacted together to form a "disc" 2310. Hot water 2130 is then forced under high pressure through the disc contained 2310 into a receiving vessel 2320, to make the espresso drink 2370. A wide variety of devices have been invented for making 2370 espresso coffee drinks. [008] In the process for preparing coffee, as shown in FIG. 1, roasted coffee beans are ground first (S11). The fineness or thickness of the grinding of the roasted coffee beans affects the taste of the coffee drink obtained in S12 and S13, and the thickness of the grinding is typically associated with the method that will be used to prepare the coffee. Preparation methods in which coffee grounds are exposed to hot water for a relatively long period of time usually use a coarse grind. If the grinding for such methods is too fine, then many surface areas of the coffee beans will be exposed to water for a long time, and the resulting coffee will be over-extracted, producing a more bitter taste. On the other hand, if the method of preparation used exposes the ground coffee beans to hot water for a short period, to thicken a grind will result in a weak, tasteless coffee. [009] Additionally, due to the fact that the beans are grown and roasted under a wide variety of conditions, each batch of roasted coffee beans may require different conditions to prepare high-quality, tasty coffee. Adjusting the fineness of the coffee grinds and other preparation parameters appropriately to achieve the desired flavor usually requires trial and error, and often a trained barista. A way to predictably reproduce the desired coffee flavor without wasting time and effort is desired. SUMMARY [0010] In one aspect, the inventive concept belongs to a method implemented by computer to control the preparation of a coffee drink. The method involves providing instructions for receiving an identifier for the coffee drink, the identifier associated with a set of preparation parameters used to make the coffee drink; and retrieving the set of preparation parameters from a database by storing the set of preparation parameters using the identifier. [0011] In another aspect, the inventive concept belongs to a computer-readable medium storing instructions for controlling the preparation of a coffee drink, the instructions including instructions for receiving an identifier for the coffee drink, the associated identifier with a set of parameters preparation used to make the coffee drink and including a grinding size parameter from a database storing the set of preparation parameters using the identifier. [0012] In yet another aspect of the inventive concept, the inventive concept belongs to a coffee grinder. The coffee grinder includes a grinder for grinding coffee beans; a grinding control unit for controlling the size of ground coffee; and a computer processor connected to the grinding control unit. BRIEF DESCRIPTION OF THE DRAWINGS [0013] FIG. 1 is a flow chart depicting a basic coffee preparation process. [0014] FIG. 2A illustrates a French press. [0015] FIG. 2B illustrates an AeroPress® device. [0016] FIG. 2C illustrates the principles for making an espresso. [0017] FIG. 3 is a flowchart depicting a preparation parameter generation process according to an inventive concept modality. [0018] FIG. 4 is a flowchart depicting a coffee reproduction process based on a parameter according to an inventive concept modality. [0019] FIG. 5 is a schematic diagram of an intelligent coffee grinder that is configured to perform a grinding process based on the parameter depicted in FIG. 5B, according to an inventive concept modality. [0020] FIG. 5B is a flowchart depicting a parameter-based grinding process according to an inventive concept modality. [0021] FIG. 6A is a schematic diagram of an intelligent coffee grinder that is configured to perform a coffee preparation process based on the parameter shown in FIG. 6B, according to an inventive concept modality. [0022] FIG. 6B is a flowchart depicting a parameter-based coffee preparation process according to an inventive concept modality. [0023] FIG. 7 is an example of an automated parameter-based coffee preparation process. [0024] FIG. 8A is a flow diagram of an embodiment of a particle size determination method. [0025] FIG. 8B illustrates an example of a calibration standard. [0026] FIG. 9 is a flow diagram of a method for correcting lenses and perspective distortions in an image. DETAILED DESCRIPTION [0027] The preparation of coffee drinks remains largely a technique in the sense that efficient and accurate reproduction of a desired flavor is extremely difficult. It usually requires a trained person (for example, a barista) with a refined taste to taste a coffee drink and make another cup that tastes the same, especially with a different batch of beans. While many people make and drink coffee drinks as part of their daily routines without much thought or complaint, even an average coffee drinker would admit that some coffee drinks taste better than others. The inventive concept described here allows a coffee drinker to reproduce the taste of a model coffee drink at the convenience of his own home, without having to travel to a remote coffee shop or spend a lot of time. This reproducibility is achieved by designating a model coffee drink with a set of preparation parameters and making these parameters available to people who make coffee. [0028] In one aspect, a method for preparing a coffee drink having consistent taste characteristics includes designating a coffee drink with a set of preparation parameters that are specific to the batch of roasted coffee beans. As will be described in more detail below, preparation parameters include grind size, water to lees ratio, packaging pressure (for espresso drinks), water temperature, residence time, extraction pressure, and stirring time, among others. A small portion of the roasted grain batch can be used for the designation to determine the preparation parameters, with the assumption that the same designation applies to the grain "batch" that came from the same source (eg field) and were roasted together. The preparation parameters can therefore be used with portions of the batch that have not been directly assigned. [0029] In another aspect, the preparation parameters for a batch of coffee beans can be stored in a database and associated with an identifier assigned to the particular batch of coffee beans. A user can use the identifier to access the preparation parameters that are stored. For example, the user can enter the identifier attached to a coffee bag on a website to retrieve the preparation parameters. Alternatively, the user can use a portable device (for example, a smartphone) to read the identifier that is encoded in the grain bag and obtain production parameters. [0030] In some modalities, the preparation parameters are encoded directly in a grain bag so that a user can read the code to obtain the preparation parameters. In other modalities, a software would receive input from the user in relation to the type of coffee maker he is using or the type of drink he wants to make (for example, a cappuccino) and provide preparation conditions that are obtained using the preparation parameters. "Preparation conditions" include parameters other than preparation parameters that affect preparation, such as settings for grinders in particular on the market and recipes that can be used to make the desired beverage. The "preparation conditions" are determined on the basis of the preparation parameters that designate the grains. [0031] The characteristic taste of prepared coffee is the result of the total dissolved solids ("TDS") that dissolve from the ground roasted coffee beans in the water. Another component that affects the taste of a characteristic coffee drink is the type and quantity of extracted compounds that manifest themselves as TDS. For example, warmer water and longer immersion times tend to release more chlorogenic acid lactones and phenylindanes, while colder water and shorter immersion times tend to release more acidic compounds. Taste is affected by the amount of TDS compared to the amount of water (the "TDS ratio") and also the technical composition of TDS. The TDS ratio and chemical composition are influenced by the characteristics of the roasted coffee beans and the process used to prepare the coffee, that is, the process used to extract the TDS. The characteristics of roasted coffee beans can be influenced by factors such as growing conditions and roasting conditions which can be difficult to control reproducibility. However, for a given batch of roasted coffee beans, if the process for preparing coffee - which is an aqueous extraction process for TDS - can be reproduced, the same characteristics of coffee taste resulting from the coffee bean batch roasted can be played. [0032] FIG. 3 depicts a process of generating preparation parameter 30 according to an inventive concept modality. As shown, the preparation parameter generation process 30 includes selecting a "model coffee drink" for a bean batch (S32). The "model coffee drink" is the drink that has the taste that consumers would like to reproduce. During the model S32 coffee beverage selection process, batches of coffee beans are tested and designed to determine which of the various sets of parameters produces the "perfect" coffee flavor. This determination may involve a trained professional or a tasting panel that tastes coffee drinks made with different preparation parameters and votes for or selects the best drink. Another way to make this determination is to allow purchases of roasted coffee beans to submit to the preparation parameters, and then have members of the community vote for their favorite flavors, for example, through a social network or internet voting software. Once the preparation parameters used for each coffee drink are known, the preparation parameters that were used to produce the drink that received the most votes can be easily identified. Another way to determine the parameters for preparing a "good coffee drink" involves chemical analysis. This process can take the form of analysis for some ingredients in coffee, for example, by determining the level of caffeine, acrylamide level, pH, or the content of any specific chemical identified as contributing positively or negatively to the desired result. Chemical analysis testing can also take the form of determining results in general, such as the total amount of TDS, or a TDS spectrograph result and comparing to known quantities / spectrographs for coffee with desired properties. The inventive concept is not limited to any particular way of selecting the "model coffee drink". [0033] Once the "model coffee drink" is selected, its properties are translated into preparation parameters (S34) that will allow consumers to reproduce its taste. The aqueous extraction process for extracting TDS from roasted coffee beans in a coffee drink is controlled by a set of preparation parameters, which includes the following: 1) The particle size distribution of the ground coffee beans, referred to here like "grinding". 2) The ratio of the amount of water to the amount of ground coffee beans, referred to here as "ratio". 3) The water temperature, referred to here as "temperature". 4) The amount of time that the slurry (the mixture of water and coffee beans) is stirred or mixed, referred to here as "stirring". 5) The amount of time that the slurry is allowed to immerse, referred to here as "permanence". 6) For preparation methods that require pressure (such as espresso and Aeropress), the extraction pressure, referred to here as "pressure". 7) For espresso, or other methods of preparation where lees are first packed, the packaging pressure, referred to as "packaging". [0034] The preparation parameters listed above are not intended to be exhaustive, and the inventive concept described here is not limited to any particular combination of preparation parameters. For example, in some embodiments, the following parameters can be included in the preparation parameters: 1) The total extraction time, which is the time required to separate the liquid from the ground coffee beans (after any stay and / or agitation), referred to here as "extraction time" 2) The volume of the liquid extracted, referred to here as "volume" [0035] Each preparation method requires management of the set of parameters that are relevant to the particular device. For example, for espresso extractions, the primary parameters needed to control are milling, packing ratio, temperature, permanence and pressure. These preparation parameters result in the extraction time and volume, and the resulting amount and chemical composition of TDS. This relationship can be expressed as in the following relationship (1): {grinding, packaging, ratio, temp, permanence, pressure} ► {extraction time, volume} = infusion compound (1). [0036] For an AeroPress® extraction, the primary parameters needed to control are the grinding, the ratio, temperature, agitation, permanence and pressure. These primary parameters result in the extraction time, and the resulting amount and chemical composition of TDS. As an AeroPress® as compared to express, there is no "disc", so the packaging is not relevant. [0037] However, the stirring time is important. For an AeroPress®, the relationship can be expressed as follows: {grinding, ratio, temp, agitation, permanence, pressure} = {extraction time} = infusion compound (2). [0038] For a French press, the primary variables are milling, ratio, temperature, agitation and permanence. As a French press, no pressure is applied and there is also no "disk", therefore, no packaging pressure is required, and the relationship can be expressed as follows: {milling, ratio, temp, agitation, permanence} = infusion compound ( 3). [0039] Traditionally, coffee makers treat the preparation variables as an informally managed group. This happens a lot because the grinding, that is, the particle size distribution of the ground roasted coffee beans, is not practical to measure, and therefore, it needs to be determined via test and error and validated each time by tasting the result. At the same time, grinding has a high impact on the taste characteristics resulting from coffee. Thus, of all the variable parameters in the brewing process, the ability to accurately measure and control the grind has a major effect on the quality of the coffee. [0040] With the ability to accurately measure grinding, it becomes possible to treat grinding as the primary primary parameter, and correct the rest of the primary parameters based on grinding to produce predictable results in the secondary group and, consequently, create consistent characteristics extraction. A new method for determining the particle size distribution for ground roasted coffee beans is described below with respect to FIGS. 8A, 8B and 9. In the method, a common camera, such as an attached camera as part of a smartphone, is used to photograph (or generate a bitmap of) a small amount of coffee grounds distributed over a calibration grid . The photograph (bitmap) is then processed to determine the particle size distribution of the lees. This method is practical to implement, and in this way, the grind can be reproduced, making the taste characteristics of the coffee possible to be reproducible. An example of coded preparation parameters may look like the following: Set ID: 875QQT-CR Method: AeroPress Coffee Weight: 35 g Water Weight: 200 g Water Temperature: 175f (79.4 ° C) Grind: 80 % @ 203 μπi, SD <1.4 Pre-infusion time: 4 seconds Agitation time: 10 seconds Dwell time: 5 seconds Extraction time: 20 seconds Extraction volume: 185g [0041] These preparation parameters, which are for use with an Aeropress® device, include the settings that a user can use to produce a coffee drink that has the same taste as the "model flavor" that was selected by the discrimination process model described above. In this particular example, the grind preparation parameter indicates that to reproduce the selected flavor, 80% of the grinding particles are 203 μin in size or less (within a standard deviation of 1.4). [0042] The preparation parameters affect each other, so that when one parameter changes, one or more of the other parameters can be set to "work with the change and get the same result. For example, if the grind is too coarse , the water temperature and / or the dwell time can be adjusted (for example, increased) to compensate for the thickness and achieve the same desired taste. Similarly, if the grind is too fine, the water temperature and the dwell time can be adjusted (for example, decreased) appropriately to compensate for this. [0043] Once the preparation parameters are determined in S34, the preparation parameters are available to consumers (S36). In one embodiment, the preparation parameters are coded and associated with the grain batch. For example, where the beans are packed in one pound bags (0.453 kg), the preparation parameters can be coded and affixed to the package. In one embodiment, the preparation parameters for different types of coffee makers can be printed on a sheet of paper or adhesive and affixed to a bag of coffee beans. A user who buys the coffee beans should automatically receive the preparation parameters to reproduce the "model coffee drink" using those beans. [0044] In another embodiment, the preparation parameters are coded and displayed or printed on the packaging of the coffee beans. A user can scan the code using a scanner or a code reader * which can be implemented as a smartphone application) to obtain the encoded preparation parameters. The parameters can also be encoded on an RFID or NFC device. [0045] In one embodiment, the model coffee flavor selection (S32) is made for a number of categories, such as "strong and robust", "medium body", and "light and smooth", with a coffee drink model (and its preparation parameters) selected for each category. [0046] In yet another modality, the preparation parameters are stored in a database and accessed by users. For each grain batch that is designated, an identifier is assigned. For each coffee bean set identifier, preparation parameters for different types of coffee makers (for example, French press, Aeropress®, espresso) are introduced for the different flavor categories in a database. The preparation parameter database can include other data, such as a list of commonly used coffee makers and any preparation parameter settings to be used with each of the different makes and models. Also, if professional tasters were used to determine the "model coffee drink", instead of agreeing on a set of the best preparation parameters, each professional taser's preferred parameters could be stored separately and identified. In this way, with experience, a person making coffee would know which selection of taster he normally prefers and would choose the preparation parameters associated with the model drink for that taster. In addition, the database can include dates and times so that, if the preparation parameters change over time, for example as the roasted beans become less fresh, the corrected preparation parameters can be accessed. [0047] In addition to the preparation parameters associated with each preparation condition, a related settings table, for example for particular devices, can be stored (for example, in a lookup table). [0048] Additionally, the identifier can be linked to other information related to the roasted coffee bean batch, such as, for example, varietal, origin, batch and roasting dates, additional descriptive content (ie color and size of the beans) ), "expiration" dates, additional recommendation for roasted coffee beans, suggested preparation methods and this information can be stored or linked to the preparation parameter database. The database can be updated as needed. [0049] FIG. 4 depicts a modality of a coffee reproduction process based on parameter 40 according to the inventive concept. In this process 40, the coffee bean identifier is obtained (S41). The identifier can be inserted by the user or read by the machine, depending on the encoding method used. For example, a barcode identifier, QR code (quick response code), RFID tag (Radio Frequency Identification) or URI (Uniform Source Identifier) could be read by a scanner, or a code number printed on the coffee beans packaging could be manually inserted into an internet based application. In addition to the identifier, other information that will narrow the set of parameters in the database can be requested and received (S43). This additional information may belong to the type of grinder and / or coffee maker being used (for example, Aeropress®, standard electric coffee maker, French press, espresso) and / or the desired flavor category (strong, medium, light). Using the identifier and optional additional information, the correct set of preparation parameters is found in the database (S45). The database can be accessed via a network or stored locally. After retrieving the set of preparation parameters to reproduce the taste of the model coffee drink using the consumer's coffee maker, the preparation parameters are retrieved and provided, for example, to the user (S46). The preparation parameters can be provided to the user as an easy-to-follow, step-by-step instruction. [0050] The coffee reproduction process based on parameter 40 can be implemented as software or firmware residing on different machines. For example, the software can be implemented as an application for a smartphone that can be downloaded. The software can also be implemented as an internet-based application in which the user interacts with an internet-based interface. The software can also be implemented, in whole or in part, as part of an automatic coffee grinder and / or brewing device, and used to operate the device as described below. [0051] FIG. 5A depicts a modality of the inventive concept which includes an intelligent coffee grinder 50 which is configured to perform a grinding process based on parameter 5000 which is depicted in FIG. 5B. The smart coffee grinder 50 is configured to receive a user request on the type of coffee drink that is desired, retrieve the preparation parameters (specifically, the grinding parameter), and produce coffee grinds that meet the parameter requirement preparation. As shown, the smart coffee grinder 50 includes a grinder 51 for grinding the beans, a grinding control unit 52 for controlling the particle size, and a processor 53. The smart coffee grinder 50 is also capable of communicating with a consumer via an interface unit 57. User interface unit 57 can be built into the smart coffee grinder 50 or be in communication with (via hard or wireless wire) a separate user interface unit (for example: smartphone , tablet, laptop, desktop, PDA). The user interface device is capable of receiving user input as well as output information for a user and typically includes a visual and / or audio device. The smart coffee grinder 50 also has a data interface 58 through which it accesses the brewing parameter database. The data interface 58 can be a port configured to receive a memory device that stores the setup parameters, or a network connectivity port that allows access to the database via a network. [0052] In one embodiment, the milling control unit 52 can be implemented using the particle size determination method that is described below with respect to FIGS. 8A, 8B and 9. Where the method described below is used, the grinding control unit 52 includes a camera 54 positioned on a calibration grid 55 that has calibration marks. Processor 53 obtains the preparation parameters for the coffee beverage desired by the user in the manner shown in FIG. 3, for example from the database mentioned above. Processor 53 extracts the grind size parameter from preparation parameters, and adjusts the grinder setting and grinding time 51 to achieve the prescribed grind size. The processor 53 can be programmed to translate the preparation parameters for certain configurations for the grinder 51. After the initial grinding, a sample of the coffee grounds is sprayed on the calibration grid 55 and formed by an image with the camera 54. [0053] Distortion corrections can be made according to the method in Annex A and the particle size distribution of the grind is determined. If the particle size distribution is within the grinding size parameter of the preparation parameters for the desired beverage, grinding is complete. If, on the other hand, more grinding is required, the grinder 51 is turned back to an adjusted configuration which is prone to give the grinder to the correct particle size. A sample of the re-ground coffee grinds is then sprayed on the calibration grid 55, the particle size distribution is determined once again, and the iterative grinding cycle continues until the desired particle size is achieved. [0054] The coffee grinder 50 can be equipped with a local memory 56 that stores the coffee bean identifier and the grinding settings associated with that identifier. Consequently, if a user wants to make the same type of coffee drink for several days using the same coffee bag, the smart coffee grinder 50 would not have to repeat the entire process of FIG. 3 every time. [0055] FIG. 5B depicts the grinding process based on parameter 5000 that can be performed by the smart coffee grinder 50 according to an inventive concept. The smart coffee grinder 50 reads the coffee bean identifier (S5010), optionally receives input from the consumer regarding preparation preferences and conditions (for example, the favorite flavor category) (S5020), and retrieves the set preparation parameters from the database (S5030). This identifies the grinding parameter from the preparation parameters and sets the grinder 51 to a setting and run time that could achieve the desired grinding particle size (S5040). After the grinding process is completed, the grinding control unit 52 checks the lees (S5050) to see if the particle size is within the target range defined by the preparation parameters. Initially, the smart coffee grinder 50 can configure the grinder to produce lees that are slightly thicker than desired, so that the second round of grinding can recalculate the grinding parameter to fine-tune the lees (S5060) and obtain grinds that are within the target particle size. Once the particle size is reached, the lees are provided for the user (S5070). [0056] FIG. 6A depicts a modality of the inventive concept that includes an "intelligent" coffee maker 60 that is configured to carry out a process for making coffee based on parameter 6000 that is depicted in FIG. 6B. In some embodiments, the coffee maker 60 may incorporate the smart coffee grinder 50. Specifically, the smart coffee maker 60 includes a scale 61 for weighing coffee beans and / or water, a grinder 61 for grinding coffee beans, a grinding size control unit 63 to determine the grinding size, a water receiving and heating unit 64, an extraction unit 65 where the grinding and water are brought into contact, and a coffee drink receiving unit 66. Where the preparation parameters specify the amount of water in terms of volume, the water receiving unit 64 may have marks indicating the volume of water. The smart coffee maker 60 includes a processor 67 coupled with a local memory 68 and a data interface 69 that can be configured with the network connection capability. The network's connection capability is useful for accessing the database described above. [0057] FIG. 6B illustrates the process for making coffee based on parameter 6000 that can be performed by the smart coffee maker 60 according to an inventive concept modality. The smart coffee maker 60 reads the coffee bean identifier (S6010), optionally receives input from the consumer regarding preparation preferences such as the favorite flavor category (S6020), and retrieves the correct set of preparation parameters from of the database (S6030). This identifies the grinding parameter from the preparation parameters, obtains the correct amount (weight) of coffee beans (S6035), places the coffee beans in the grinder 64 configured for a configuration and run time that could reach the size of desired grinding particle (S6040). After the grinding process is completed, the grinding control unit 63 checks the lees to see if the particle size is within the target range defined by the preparation parameters, as described with reference to FIG. 5B, for example using the technique described below with respect to FIGS. 8A, 8B and 9. Once the desired particle size is reached, the lees are poured into the extraction unit 65 (S6060). Water is measured, for example, with scale 61, to obtain the quantity prescribed by the preparation parameters (S6045) and heated to the prescribed temperature (S6050). The water and lees are combined (S6060) in the extraction unit 65 and placed in contact (with agitation, in some devices) for the amount of residence time prescribed by the preparation parameters. The lees are separated from the liquid portion of the coffee drink (S6070) to produce the coffee drink. [0058] Once the coffee is prepared, the software can optionally require and incorporate feedback in relation to the coffee (not shown). This feedback can be, for example, a chemical analysis of both specific chemicals and of the resulting coffee in total, to compare the results of a chemical analysis described above, as well as to provide a cross check on the resulting coffee. This feedback can also, for example, be provided by users. For example, as the community gains experience with a toast batch, they can provide variations in the preparation parameters to achieve different results. These updates can be published and rated by other members of the community. [0059] FIG. 7 illustrates an example operation of an automated coffee preparation process based on parameter 70 according to the inventive concept. The particular example is for use with a French press device, although the process can be adapted for any type of device. In the automated coffee preparation process 70, there are five nodes: node 1 (700) * for weighing and grinding beans, node 2 (710) for weighing and heating water, node 3 (720) for loading the extraction unit, node 4 (730) for extraction, and knot 5 (740) for piston control. Each node is controlled by a control unit 750. The nodes can be different parts of an integrated unit such as the smart coffee maker 60 described above, or separate units that can communicate with the control unit 750, for example, wirelessly ( for example, via Bluetooth). For example, node 1 can be in a grinder, node 2 can be in a kettle, and nodes 3, 4 and 5 can be in a self-supporting French press device. [0060] The control unit 750 controls the nodes independently in a coordinated manner. The control unit 750 has access to a preparation parameter database, and retrieves the parameters for each node in the database. This then sets the node parameters according to the parameters retrieved (S760) and starts the node operation (S770). The node operations are then performed (S780) in a coordinated manner, so that the process steps take place in the right order. With each step, the control unit 750 confirms that the operation has been completed before proceeding to the next step (S790). There is a stopwatch built into or read by the control unit 750, so that the control unit 750 can set the run times for various processes (for example, grinding, agitation) according to the preparation parameters. [0061] The method for determining the particle size distribution of ground coffee beans using an image is described with reference to FIGS. 8A, 8B and 9. [0062] The method involves generating or otherwise obtaining an image (for example, bitmap) that includes the small particles of the ground coffee beans and a calibration standard, where the dimensions of the calibration standard are known. The image can be produced, for example, using any conventional camera to image particles positioned over or around the calibration standard. Where the particle size is small (for example, on the order of 10 "6 inches), corrections are made to account for distortions caused by camera lenses. [0063] In one embodiment of the method that is described, the particle size of the ground coffee beans is determined using a calibration standard that includes marks of known dimensions. The calibration pattern and particles are formed together, with the assumption that the same distortions will apply to both the calibration pattern and the particles. Using the known dimensions of the calibration standard, a transformation is generated to remove the distortion effects and convert the image to a corrected image that is free from distortion effects. The transformation is then applied to determine the particle size distribution of the corrected image. [0064] Advantageously, any camera (or other device capable of reproducing a bitmap) can be used to record the bitmap, and specialized image formation or recording equipment is not required. In addition, because the calibration pattern and particles are recorded together in a single image, the camera, lenses and other parameters do not need to be known to correct for distortions and extract accurate particle sizes. Capturing the particles and the calibration pattern together in one image eliminates the need to record additional calibration images, separated to obtain a set of parameters to correct distortions before recording the measurement image. In the method that is described, the information needed to accurately determine the sizes of ground coffee beans is incorporated into a single image. [0065] FIG. 8A illustrates one embodiment of a method for determining particle size. After the particles to be measured are distributed in a calibration standard, for example, calibration grid 55 (FIG. 5A), camera 54 is used to capture a digital image (for example, recording a bitmap) of the particles in the grid. calibration 55 (step S810). Imaging can include image preparation to facilitate object recognition, for example by applying image processing techniques (including, but not limited to, noise reduction and / or limitation and / or filtration) to improve clarity / image definition. Any suitable noise reduction techniques can be used. [0066] Any technology to capture or generate two-dimensional or three-dimensional images can be used in step S810, including techniques that use photography (for example, visible light), ultrasound, X-ray, or radar. The inventive concept is not limited to any particular way of capturing the bitmap. The calibration standard, like the calibration grid 54, usefully includes a background and calibration marks. For example, the calibration marks of the calibration grid 54 are the sketches of squares having consistent dimensions x and y, which are drawn with lines of substantially constant thickness and repeated at a consistent interval w in rows and columns. For example, FIG. 8B shows a calibration grid 820 with calibration marks 822 which are square outlines having consistent dimensions x and y, which are drawn with lines of substantially constant thickness and repeated at a consistent interval w in rows and columns. The dimensions of the calibration marks are known (for example, by measuring the physical standard). The calibration marks can be of any size that provide enough information to produce a corrected image that allows accurate measurement in the desired particle size range. [0067] The calibration standard, for example the calibration grid 54, is most useful if the main color or background shade has a high contrast to the color of the particles to be measured and the color of the calibration marks. It is also useful that the color of the calibration marks is different from the color of the particles whose size is to be determined. For example, if the particles are brown or black, the background can be white and the calibration patterns can have a blue tint. In general, any material can be used for the calibration pattern, and can be useful if the surface of the calibration pattern is impenetrable to the particle material, so that the particles do not damage the calibration pattern. In one example, the calibration pattern is a pattern printed on a sheet of paper and the particles of the ground coffee beans are sprayed on it. A digital image of the calibration standard can be obtained by the user and printed at home. [0068] The small particle size of the coffee grounds that can be determined using the technique described here depends on a number of factors, one of which is the ratio between the lowest measurable pixel coverage and the pixel coverage of the calibration mark . There must also be sufficient camera resolution to capture one or more calibration marks and sufficient particles from the sample to gather statistics. The camera that is part of an iPhone® that is currently available on the market would allow the determination of the particle size as small as 1 x 10 "6 inches. In one embodiment, the dimensions of the calibration marks depend on the digital resolution of the camera and the size of the smallest particle to be measured. For example, for a camera having a resolution of 3264 x 2448 pixels, a square of 2 pixels by 2 pixels is needed to measure a particle with a diameter of 25 x 10 "6 inches, and a calibration standard that is 400 pixels per side (ie around an area of 160,000 pixels) is used. [0069] Patterns can include repeated squares of a grid, and also patterns other than repeated squares can be used for calibration patterns. However, using a regular pattern that is mathematically easy to model, for example, which includes orthogonal lines, calibration patterns can simplify the processing of the recorded image. In addition, the calibration marks use the maximum use of the color that has a high contrast to the color of the particles whose size is being determined. A pattern such as a "checkerboard" pattern, for example, may not work as efficiently because half the boxes would be dark and, where the particles are dark, many of the particles would be in dark areas where there is not much contrast between the particles and the surface they are on. [0070] In step S820, the image of the calibration grid 55 is corrected to remove distortions. One of the problems with using image formation to determine the particle size is that several distortions in the recorded image will lead to inaccuracies in determining the size. These distortions are particularly deleterious when attempting to make accurate measurements of small particles, in the size ranges of, for example, 10 "6 inches. Such distortions may be the result of imperfections in the geometry of the lens or in the alignment, which can cause, for example, straight lines to be captured in the image as non-straight lines. Distortion can also be the result of perspective distortion, which occurs when the optical geometric axis of the camera is not perpendicular to the center of the object being formed by image, making with parallel lines appear unparalleled in the image. As particle sizes are determined using the dimensions of the calibration marks, distortion in the image of the calibration marks will likely result in an error in determining the size. calibration steps are corrected before particle size determination is made. At the end of step S820, a "correct image igida "is produced which includes the distortion-free calibration marks and the original (uncorrected) image of the particles. [0071] In an approach to remove distortions in step S820, calibration marks are extracted from the image. A domain filtering technique can be used for this extraction. For example, where the calibration marks are blue, a technique that uses a chroma strip to extract patterns in the blue hue range can be used (the background of the calibration pattern is a different color from the marks). The result is a series of calibration mark objects that are constructed by extracting outlines from the blue portions of the image. The calibration mark object series is used to generate a uniform scale that is useful for mapping the image, as in orthophotographs. This generation of a uniform scale is an orthotransformation, which can be reused with the same calibration pattern repeatedly, once it is generated. [0072] In step S830, particle sizes of ground coffee beans are determined using the corrected image of the calibration standard. This process involves extracting the particles from the corrected image using domain filtering. For example, domain filtering can be achieved using a chroma strip to extract particles that are known to be in the brown / black color range. A series of particle objects is generated by extracting the contours of the particles from the processed image. Each element of the particle object series can then be measured to determine the particle dimensions, for example, the extent (diameter), area and circularity of each particle. From these measurements, a size distribution of the measured particles is obtained. In the measurement of particle sizes, the calibration standard acts as a dimensional reference. [0073] As mentioned above, the dimensions of the calibration marks in the physical world (as opposed to the image) are known. Optionally, the accuracy of the calibration mark distortion correction using in S820 can be cross-checked by measuring the calibration marks in the corrected image and calculating the discrepancy in known calibration mark sizes in the calibration standard. [0074] In step S840, the measurements of the particle object series are designated. A size distribution histogram, an area distribution histogram, a volume distribution histogram, minimum, maximum and standard deviations and peak distribution analysis can be used to determine a set of parameters that designate the size and shape of the particles from ground coffee beans. A "set" of size parameters, as used here, is intended for at least one size parameter. [0075] In some cases, the determination of particle size can be done for the purpose of processing (for example, grinding) the particles to achieve a desired size. In these cases, there may be a target particle profile that is available, and the profile can be defined in terms of the size parameter set that is used in step S840. Based on a comparison of the measured parameters (result of step S840) against the profile of the target particles, a person can determine what action should be taken to approximate the two profiles. This determination can be made automatically by a processor or by a person. Where the determination is made automatically, the processor can indicate to an operator (for example, visually and / or by sound) that additional grinding would bring the measurement closer to the target profile. [0076] When preparing coffee as shown in FIGS. 5 and 6, a user who wants to make coffee of a certain flavor can obtain the target coffee grind profile, that is, the grind size, which he knows would produce the flavor he wants when used with a specific configuration in his coffee machine. Such a user could spray some coffee grinds at calibration 54 and use the method above to obtain the set of size parameters that designate his grinds, and then compare the size parameters with the target profile. For example, if the set of parameters indicates that the measurement distribution for your mills is centered at 0.035 inches and the target profile is 0.0475 inches, the user could know that he has ground the very fine grains and that he needs to restart with a thicker preparation. [0077] Now, additional details will be provided about the distortion correction step S820 of FIG. 8A, and particularly about generating a transformation matrix to convert the original, distorted image into a corrected, distortion-free image. The actual position of the calibration standards is known from the physical calibration standard of the real world. Then, a comparison of the two (that is, the actual position and the position in the image) can be used to determine a transformation matrix (or any other scalar) that converts the calibration pattern formed by the image back to the calibration pattern. real. This transformation matrix for the calibration standard shows how to convert the image to real-world measurements, and vice versa. The transformation matrix can be extrapolated over the set of pixels and applied either to the complete image or to a selected portion of the image in which, again using a chroma strip extraction, only the particles are shown (obtained in the step S830). After applying the transformation matrix to the image, a partially corrected image that is less distorted (and perhaps substantially free of perspective or geometric distortions) is obtained. This approach generates a correction fact for each calibration mark to correct distortion. [0078] FIG. 9 depicts another 900 approach for distortion correction. Unlike the first approach using the empirically generated transformation matrix, this second approach involves correcting the image for lens distortion and perspective distortion. Using the calibration mark object series above and the image regions referenced by the calibration mark object series in steps S910 and S920, distortion coefficients are obtained. For example, a method described in the Z. Zhang calibration method as described in "A flexible new technique for camera calibration", IEEE Transaction on Pattern Analysis and Machine Intelligence, 22 (11): 1330-1334, 2000, which is incorporated for reference here, can be used. The method described in Zhang uses a checkerboard pattern to obtain calibration parameters that can be used in subsequent photographs. For the inventive concept described here, however, the calibration standard extracted from the image as described above is used. The calibration result obtained will include lens distortion parameters such as k1 and k2. [0079] The technique proposed by Zhang uses the camera to observe a flat pattern shown in a few different orientations (at least two). The pattern can be printed on a laser printer and attached to a "reasonable" flat surface (for example, a hard book cover). Both the chamber or the flat pattern can be moved and it is not necessary for the details of the movement to be known. The proposed approach is between photogrammetric calibration and self-calibration because 2D metric information is used instead of 3D or a purely implicit one. Both computer simulation and real data were used to test the technique. The technique described here advances the 3D computer vision of laboratory environments to the real world. [0080] Limitations on the camera's intrinsic parameters are provided by observing a single plane. A point in 2D is denoted by m = [w, v] T. A 3D point is denoted by M = [X, Y, Z] T. The ~ symbol denotes the vector increased by adding 1 as in the last element: m = [w, v, 1] T and M = [X, Y, Z, 1] T. A camera is modeled by the common pinhole: the relationship between a point in 3D M and the projection of its image m is given by: Equation (1) where s is a fact of arbitrary scale; (R, t), called extrinsic parameters, is the rotation and translation that relate the world coordinate system to the camera coordinate system; and A, called the camera's intrinsic matrix is given by: with (wo. Uo) the coordinates for the main point, a and β the scaling factors in the image u and the geometric axes, and Y the parameter describing the asymmetry of the two geometric axes of the image. The abbreviation A "T is used to represent (A") T or (A1) "1. [0081] The model plane can be adopted as being at Z = 0 of the world coordinate system. The -th column of the rotation matrix R will be denoted as r. From Equation (1), we have: [0082] The symbol M is still used to denote a point on the model plane, but M = [X, Y] Y since Z is equal to 0. In turn, M ~ = [X, Y, 1] T . Therefore, a model point M and its image m are related by an H homography: [0083] As is clear, the matrix H 3 x 3 is defined up to a scale fact. [0084] Given an image of the model plane, a homography can be estimated. Denoting the homography by H = [hl h2 h3], from Equation (2), we have: [0085] where X is an arbitrary scalar. Using the knowledge that i * i and r2 are orthonormal, the following limitations are achieved: [0086] These two basic limitations in the intrinsic parameters, given a homography. Because a homography has 8 degrees of freedom and there are 6 intrinsic parameters (3 for rotation and 3 for translation), 2 limitations are obtained in the intrinsic parameters. Parameter A "actually describes the image of the absolute conic. A geometric interpretation will now be provided. [0087] The model plane, under the convention used here, is described in the camera's coordinate system by the following equation: where w = 0 for points at infinity and w = 1 on the other hand. This plane intersects the plane at infinity on a line, and we can easily see [rll rr2l x oJe to J are two points in particular on that line. Any [0088] point on this line [and a linear combination of these two points, that is, [0089] Computing the intersection of the above line with the absolute conic, and knowing that by definition, the xro point (the circular point) satisfies x- / T xro = 0, i. It is, [0090] The solution is b = ± ai, where i2 = -1. That is, the two points of intersection are [0091] Its projection on the image plane is then given, up to a fact of scale, by Point m 'is in the image of the absolute conic, described by AT A-1. This gives [0092] requiring that both real and imaginary parts are zero yields (3) and (4). [0093] Details on how efficiently to solve the camera calibration problem will now be provided. An analytical solution will be presented, followed by a nonlinear optimization technique based on the criterion of maximum probability. Finally, both analytical and non-linear solutions will be provided, taking into account the distortion of the lens. [0094] Consider the following Equation (5): [0095] Note that B is symmetric and defined by a vector in 6D. | . Equation (6) [0096] Allow the -th column vector of H to be So, we have • [0097] Therefore, the two fundamental limitations (3) and (4), of a given homography, rewritten as two homogeneous equations in b, are shown below in Equation (8): If n images of the model plane are observed, stacking the n such equations as (8), the result can be expressed as: [0098] If n images of the model plane are observed, stacking the n such equations as (8), the result can be expressed as: [0099] Vb = 0, Equation (9) where V is a 2n x 6 matrix. If n> 3, generally, a single solution b defined up to the scale fact is obtained. If n = 2, the asymmetry limitation Y = 0, that is, [0, 1, 0, 0, 0, 0] b = 0, can be imposed and added as an additional equation for Equation (9). (If n = 1, two intrinsic parameters of the camera, for example, a and β, can be solved by assuming that UQ and u0 are known (for example, in the center of the image) and y = 0. The solution to Equation (9) is well known as the eigenvalue of VTV associated with the lowest eigenvalue (equivalently, the correct singular value of V associated with the lowest singular value). [00100] Once b is estimated, values in the intrinsic matrix of camera A can be calculated. Once A is known, the intrinsic parameters for each image can be computed. Using Equation (2), for example, the following can be achieved: with X = 1 / IA_1hi l = 1 / IA_1 h2I. Due to the presence of noise in the data, the matrix thus calculated R = [rl, r2, r3] does not satisfy the properties of a rotation matrix. [00101] Suppose that there are n images of a model plane in points on the model plane. Suppose also that the image points are corrupted by the independent and identically distributed noise. The maximum probability estimate can be obtained by minimizing the following functional: where (A, Ri, ti, Mj) is the projection of the point Mj in image i, according to Equation (2). A rotation R is parameterized by a vector of 3 parameters, denoted by r, which is parallel to the geometric axis of rotation whose magnitude is equal to the angle of rotation. R er are related by Rodrigues' formula. Minimization Value (10) is a nonlinear minimization problem, which can be solved with the Alevenberg-Marquardt Algorithm. It uses an initial assumption of A, {Ri, ti, | i = 1 ... n} that can be obtained using the technique described above. [00102] The solutions above do not take into account the distortion of the camera lens. However, a desktop camera typically exhibits significant lens distortion, especially radial distortion. Now, the first two periods of radial distortion will be discussed. It is likely that the distortion function is called by the radial components, and especially by the first period. [00103] Let (w, u) be the ideal pixel image coordinates (distortion free), and (w, ü) the corresponding actual observed image coordinates. The ideal points are projections of the model points according to the pinhole model. Similarly, (x, y) and (x, y) are the ideal (distortion-free) and real (distorted) normalized image coordinates. where k1 and k2 are radial distortion coefficients. The center of the radial distortion is the same as that of the main point. From which Equation (1 1) [00104] Estimating Distortion by Alternation. As the radial distortion is expected to be small, a person can expect to estimate the other five intrinsic parameters, using the technique described above reasonably well by simply ignoring the distortion. One strategy is then to estimate k1 and k2 after having estimated the other parameters, which will give the ideal pixel coordinates (w, u). So, from Equations (11) and (12), we have two equations for each point in each image: [00105] Given m points in n images, we can stack all the equations together to obtain a total of 2mn equations, or in matrix form as Dk = d, where k = [k1 , k2] T. The linear least squares solution is given by . Equation (13) [00106] Once k1 and k2 are estimated, a person can refine the estimation of other parameters by solving Equation (10) with ™ (A, Ri, tj, Mj) replaced by Equations (11) and (12). We can alternate these two procedures until convergence. [00107] The convergence of the alternation technique above can be slow. A natural extension for Equation (10) is to estimate a complete set of parameters by minimizing the following functional: where m (A, kl, k2, Ri, ti, Mj) is the projection of the point Mj in the image i, according to Equation (2), followed by the distortion according to Equations (11) and (12). This is a nonlinear minimization problem, which can be solved with the Alevenberg-Marquardt Algorithm. A rotation is again parameterized by an r of 3 vectors, as described above. An initial assumption of A and {Ri, ti | i = 1 ... n} that can be obtained using the technique described above. An initial assumption of k1 and k2 can be obtained with the radial distortion solutions described above, or simply by setting them to 0. [00108] In step S930, the lens distortion parameters k1 and k2 are then used in the original image to obtain an image that is corrected for lens distortion. Alternatively, instead of using the image, a series of particle objects that describe the geometries of the particles, can be corrected. The lens distortion parameters k1 and k2 are used to correct the image for lens distortion using the following equations (15) and (16). [00109] Let {xco ect, y correct) represent the correct locations in the image, if there is no distortion due to the lens. Then: where r2 = {xcorrect -U0) 2 + (y 'correct - v0), and U0 and o are main points (that is, the points of intersection of the optical geometric axis of the camera and the image plane. [00110] The distortion of the lens can then be corrected by deforming the bitmap recorded with a reverse distortion. For each pixel in the corrected image, its corresponding location is mapped on the distorted image using equations (15) and (16) above. The section below entitled [00111] Geometric Image Transformations describes how the coordinates of the two-dimensional image are related by the intrinsic parameters of a camera (for example, focal lenses, main points, distortion coefficients) and extrinsic parameters (rotation and translation matrix). For each integer pixel coordinate at the destination (corrected bitmap), locate the source (recorded bitmap) and find the corresponding fluctuation coordinates, using the surrounding integer pixels to interpolate the fluctuation coordinates. Bilinear interpolation can be used in this process. [00112] In Synthesis, the lens distortion correction procedure proposed here, part of which incorporates the Zhang technique, is as follows: 1) Print a pattern and attach it to a flat surface; 2) Take some images of the model plane under different orientations by moving either the plane or the camera; 3) Detect the feature points in the images; 4) Estimate the five intrinsic parameters and all extrinsic parameters using the closed solution provided above; 5) Estimate the radial distortion coefficients by solving Equation (13) of linear least squares; 6) Refine all parameters by the minimization value (14); at this point, k1 and k2 have assigned values; 7) Use Equations (15) and (16) below and the width and height of the distorted image on the lens, to find the height and width of the image that is free from lens distortion. Use a scalar to keep the two images at the same width, and scale height accordingly; and 8) For each pixel in the image that is free from lens distortion, find its corresponding location using Equations (15) and (16) in the image that has lens distortion, and apply Shepard interpolation from close neighbors to the distorted image. to get the color information of the corrected image. [00113] In step S940, correction of perspective distortion can be achieved using the four angle points of a rectangular calibration mark to solve the H homology using the following process: [00114] Suppose you have a point in the world coordinates 1 and we write this in homogeneous coordinates as [00115] Similarly, the corresponding point in the coordinates of , and we write this in homogeneous coordinates as [00116] This relationship between these two can be expressed in the following [00117] Expanding both sides of the equation using matrix multiplication, we have: [00118] Connect the third equation to the first two, we have two equations from this pair of points: [00119] Since there are eight unknowns in H, we need 4 pairs of points to solve H. [00120] We write the eight equations in the form of a matrix: [00121] Thus, for each image that suffers from projective distortion, we choose four points in this image, and given the world coordinates of these four points, we are able to solve H. [00122] The "k" in the above equation is a scalar for the homogeneous representation of the two-dimensional coordinates, different from the lens coefficients k1, k2. Four points (for example, four angles where the shape is rectangular) of multiple calibration marks can be used to count as non-uniform distortions. The starting point for perspective correction in this approach is not the original image, but the corrected image where the lens distortion has been removed. H homography is determined using four points from a set of calibration marks identified in the corrected image for lens distortion, and then is applied to the corrected image to determine a bitmap (the corrected or actual size bitmap) that has been corrected for both distortions lens and perspective. [00123] A perspective distortion usually occurs when the optical geometric axis of the camera is not perpendicular to the center of the object. Using the image of particles captured in the patterned background as a grid, multiple (for example, five) pairs of orthogonal lines in the scene can be used to find the homography to correct perspective distortion. This correction will often be made in parallel lines in the physical world and also parallel in the image, orthogonal lines in the physical world also orthogonal in the image, squares in the physical world have aspect ratio of unity in the image, and / or circles in the circular of the physical world in Image. [00124] To summarize the distortion correction process in perspective above, the process involves the following steps: 1) Obtain a calibration pattern containing orthogonal lines of known dimensions, particles dispersed in the calibration pattern, and capture the image using the same lens; 2) Choose multiple (for example, five) pairs of orthogonal lines in the image; 3) Solve the H homography between the distorted projection image and the image that is free from projection distortion. 4) Use H and the width and height of the distorted projection image to find the height and width of the image that is free from projection distortion. Use a scalar to keep the two images at the same width, and scale height accordingly; and 5) For each pixel in the image that is free from projection distortion, find its corresponding location in the distortion projection image to get the color information for the correct image. [00125] Lens distortion correction and projection distortion correction can be tested separately and cascaded, so that Shepard interpolation can only be done once. [00126] The method illustrated in FIGS. 8A and 9 can be implemented in a processing device. As discussed with reference to FIG. 5, since the camera 54 captures the image, image data processing can take place using a processor directly connected to the camera 53, alternatively, the image data can be transmitted to a separate processor. Geometric Image Transformations [00127] This section will now cover some known image transformation functions that can be used to correct and manipulate the particle image. More specifically, the functions in this section perform various geometric transformations of 2D images. They do not change the content of the image, but they deform the pixel grid and map the deformed grid to the target image. In fact, to avoid sampling artifacts, the mapping is done in reverse order, from the destination to the source. That is, for each pixel (x>%) of the target image, the functions compute coordinates of the corresponding "donor" pixel in the source image and copy the pixel value: dst (x, y) = src (fx (x, y), fy (x, y)) [00128] In case the following mapping is specified as (gx> gy): src ^ dst, the functions described below first compute the corresponding inverse mapping (fx, fy): dst ^ src and then use the formula above. [00129] The real implementations of geometric transformations, from the most generic Remapping and for the simplest and fastest Resizing, need to solve two main problems with the above formula. Extrapolation of non-existent pixels. Similar to the filtering functions, for some (X, y), either an fx (X, y) or fy (X, y) can both fall out of the image. In this case, an extrapolation method needs to be used. OpenCV provides the same selection of extrapolation methods as in the filtering functions. In addition, it provides the Border_Transparent method. This means that the corresponding pixels in the target image will not be modified in any way. Interpolation of pixel values. Usually fx (X, y) and fy (X, y) are floating point numbers. This means that (fx fy) can be either an affine or perspective transformation, or a correction of radial lens distortion, and so on. Therefore, a pixel value in fractional coordinates needs to be recovered. In the simplest case, the coordinates can be rounded to the nearest whole number coordinates and the corresponding pixel can be used. This is called a close neighbor interpolation. However, a better result can be achieved through the use of more sophisticated interpolation methods, where a polynomial function is embedded in some neighborhood of the computed pixel, and then the value of the polynomial in √x> y ^ fyix »y ^ is taken as the interpolated pixel value. In OpenCV, you can choose from several interpolation methods, some of which will be described below. Get 2D Rotation Matrix [00130] This function calculates a 2D rotation-like matrix. Some parameters used for this process are as follows: center - Center of rotation in the source image. angle - Angle of rotation in degrees. Positive values mean counterclockwise rotation (the origin of the coordinate is assumed to be the top left angle), scale - Isotropic scale factor. map_matrix - The output related affine transformation, 2 x 3 floating point matrix. [00131] The function does not calculate the following matrix: [α β (1- α) center. x - β center. y] [- β to β center .x - (1— α) center. y] where a = scale • angle cos β = scale • angle sin [00132] The transformation maps the center of rotation by itself. If it is not the target, the axis must be adjusted. Get Related Transformation [00133] This function calculates the related transformation from 3 corresponding points. Some parameters used for this process are as follows: src - Coordinates of triangle vertices in the source image. dst - Coordinates of the corresponding triangle vertices in the target image. mapMatrix - Pointer to the target matrix 2 x 3 [00134] The function calculates the 2 x 3 matrix of an affine transformation, from where Get Perspective Transformation [00135] This function calculates a perspective transformation from four pairs of corresponding points. Some parameters used for this process are as follows: src - Coordinates of vertexes of squares in the source image. dst - Coordinates of the corresponding square vertices in the target image. mapMatrix - Pointer to the target matrix 3 x 3 [A / b] [00136] The function calculates the matrix of a perspective transformation, so that: Get Square SubPix [00137] This process retrieves a pixel rectangle from an image with sub-pixel precision. Some parameters used for this process are as follows: src - source image, dst - square extracted from mapMatrix - the transformation matrix 2 x 3 [A / b] [00138] This function extracts pixel from src in sub-pixel precision and stores them in dst as follows: [00139] The pixel values in non-integer coordinates are retrieved using a bilinear interpolation. When the function requires pixels outside the image, it uses the border reproduction mode to reconstruct the values. Each multi-channel image channel is processed independently. Get Rectangle SubPix [00140] This function retrieves the rectangle pixel from an image with sub-pixel precision. src - Source image. Dst - Rectangle extracted Center - floating point coordinates of the extracted rectangle center within the source image. The center must be within the image. [00141] This function extracts pixels from src: dstfx, 14) = src (x + center. X - (dst. Cols - 1) * 0.5, y + cent ™ y - (dst. Rows - 1) * 0.5, where pixel values in non-integer coordinates are retrieved using a bilinear interpolation. Each multi-channel image channel is processed independently. While the center of the rectangle must be in the center of the image, parts of the rectangle may be on the outside. In this case, the border reproduction mode is used to obtain pixel values beyond the borders of the image. [00142] Polar Log [00143] This function remaps an image to a polar log space. • src - Source image. • dst - Destination image • center - The transformation center; where output accuracy is maximum • M - Magnitude scale parameter • indicator - A combination of interpolation methods and the following optional indicators: CV_WARP_FILL_OUTLIERS fills all target image pixels. If any of them correspond to extreme values in the source image, they are set to zero. o C V WAR P I N V E RS E M A P See below [00144] This function transforms the source image using the following transformation: [00145] Forward transformation (CV WARPJN VERSE MAP is not configured): Inverse transformation (CV_WARPJNVERSE_MAP is configured): [00146] The function emulates the human "fovea" view and can be used for fast scale and combination of invariant rotation template, for objective tracking and so on. The function cannot operate in place. Remapping [00147] This function applies a generic geometric transformation to the image. src - Source image. dst - Mapx target image - the x coordinate map. mapy - the map of y coordinates. indicators - Interpolation method (see resizing ()). The INTER_AREA method is not supported by this function, fillval - a value used to fill extreme values [00148] This function transforms the source image using the specified map: dst (x, y) = src (mapx (x, y), mapy (x, y)) where pixel values with non-integer coordinates are computer using one of the available interpolation methods. maPx and maPy can be encoded as separate floating point maps in maP1 and maP2 respectively, or floating point maps interspersed with (x, y) in maP1, or fixed point maps created using the ConvertMaps function. The reason why a person may want to convert representations of floats to a fixed point on a map is that the person can produce much faster mapping operations (~ 2x). In the converted case, maP1 contains pairs (cvFloor (x), cvFloor (y)) and maP2 contains indications in a table of interpolation coefficients. This function cannot operate in place. Resize [00149] This function resizes an image, src - Input image. dst - output image; has the size dsize (when it is not zero) or the computer size from src.size (), fx, and fy; the type of dst is the same as that of src. [00150] interpolation - interpolation method: • INTER_NN - a nearest neighbor interpolation • INTER_LINEAR - a bilinear interpolation (used by default) • INTER_AREA - resampling using pixel area ratio. This can be a preferred method for image decimation, as well as giving free moire results. But when the image is approximated, it is similar to the INTER_NN method. • INTER_CUBIC - a bicubic interpolation over a 4 x 4 pixel neighborhood • INTER_CUBIC - a Lanczos interpolation over an 8 x 8 pixel neighborhood [00151] To shrink an image, it will usually look better with an INTER AREA interpolation, while to enlarge an image, it will usually look better with INTER-CUBIB (slow) or INTER LINEAR (faster, but it still looks good). WarpAffine [00152] This function applies a similar transformation to an image. src - source image, dst - target image mapMatrix - 2 x 3 transformation matrix. - indicators - a combination of interpolation methods and optional indicators: - CV WARP FILL OUTLIERS - fills all target image pixels; if any of them correspond to extreme values in the source image, they must be set to fillval - CV_WARP_INVERSE_MAP indicates that the matrix is transformed inversely from the target image to the source, and thus, can be used directly for pixel interpolation. Otherwise, the function finds the inverse transformation from mapMatrix. Fillval - a value used to fill extreme values [00153] This warpAffine function transforms the source image using the specified matrix: when the WARP_INVERSE_MAP indicator is set. On the other hand, the transformation is first reversed with InvertAffineTranform and then placed in the formula above instead of M. The function cannot operate in place. [00154] The function is similar to GetQuadrangleSubPix, but they are not exactly the same. [00155] WarpAffine requires that the input and output images have the same data types, have higher expenses (so it is not very suitable for small images) and can leave part of the destination image unchanged. While GetQuadrangleSubPix can extract squares from 8-bit images in floating point buffer, it has less expense and always changes the entire content of the target image. The function cannot operate in place. WarpPerspective [00156] This function applies a perspective transformation to an image. Useful parameters for this function include the following: Src - Source image. Dst - Target image - apMatrix - 3 x 3 transformation matrix. - indicators - A combination of interpolation methods and the following optional indicators: - CV_WARP_FILL_OUTLIERS - fills all target image pixels; if some of them correspond to extreme values in the source image, they must be set to fillval - CV WARP INVERSE MAP indicates that the matrix is transformed inversely from the target image to the source, and thus can be used directly for interpolation of pixel. Otherwise, the function finds the inverse transformation from mapMatrix. fillval - a value used to fill extreme values [00157] This function transforms the source image using the matrix if CV WARP INVERSE MAP is not configured V on the other hand Note that the function cannot operate in place. While some of the modalities are described in terms of or technique, it should be understood that the description may also cover an article of manufacture that includes a non-transitory computer-readable media in which the computer-readable instructions for carrying out method modalities are stored. Computer-readable media may include, for example, semiconductors, magnetic, optical-magnetic, optical, or other forms of computer-readable media for storing computer-readable code. In addition, the description can also cover devices for practicing the modalities. Such apparatus may include circuits, dedicated and; or programmable to perform operations belonging to the modalities. [00158] Note that the function cannot operate in place. [00159] While some of the modalities are described in terms of a method or technique, it should be understood that the description may also cover an article of manufacture that includes a non-transitory computer-readable media in which the computer-readable instructions for carrying out of method modalities are stored. Computer-readable media may include, for example, semiconductors, magnetic, optical-magnetic, optical, or other forms of computer-readable media for storing computer-readable code. In addition, the description can also cover devices for practicing the modalities. Such apparatus may include circuits, dedicated and; or programmable to perform operations belonging to the modalities. [00160] Examples of such devices include a general purpose computer, and / or a dedicated computing device, when properly programmed and may include a combination of a computer / computing device and programmable hardware circuits; dedicated (such as electrical, mechanical, and / or optical circuits) adapted for the various operations, in relation to the modalities. [00161] For example, the preparation parameter database can be stored on computer-readable media and accessed directly with computer-readable instructions stored on computer-readable media, or through computer-readable instructions provided via a link to the Internet, or some combination thereof. In addition, the workflow through the nodes can be achieved, for example, on a general-purpose computer or on a dedicated computing device integrated with the device for grinding and preparing coffee.
权利要求:
Claims (11) [0001] 1. Computer-implemented method to control the preparation of a coffee drink, characterized by the fact that the method comprises: receiving, with a processor, an identifier for the coffee drink, where the associated identifier is with a preparation parameter used to make the coffee drink, where the preparation parameter includes the size of the coffee beans; adjust, with the processor, a grinder to a first configuration to produce first ground coffee beans; obtain, with the processor, an image of a calibration mark and a portion of the first ground coffee beans, and determine, with the processor, the grind size of the first ground coffee beans based on the calibration mark; configure, with the processor, the grinder for a second configuration based on the grind size of the coffee beans associated with the handle and the finished grind size of the first ground coffee beans; and grinding are the first ground coffee beans with a grinder configured for the second configuration to produce second ground coffee beans. [0002] 2. Method according to claim 1, characterized by the fact that: the identifier is encoded on a machine-readable encoded medium fixed in a container to transport the coffee beans in an unground state. [0003] 3. Method according to claim 2, characterized by the fact that the machine-readable encoded media comprises at least one of a barcode, a QR code, an RFID tag, and a URI code identifier. [0004] 4. Method according to claim 1, characterized by the fact that determining the size of ground coffee from coffee beans ground with the processor includes correcting the image for distortion purposes to generate a corrected image, in which the same correction factor it is applied to the image data of the ground coffee beans and the calibration mark. [0005] Method according to claim 1, characterized in that the preparation parameter including the grinding size of the coffee beans includes at least one of particle diameter distribution, particle area distribution, particle volume distribution , minimum particle size, maximum particle size and standard deviation, and determining the grind size of ground coffee beans includes determining, for ground coffee beans, at least one of the particle diameter distribution, distribution of particle area, particle volume distribution, minimum particle size, maximum particle size and standard deviation included in the grinding size parameter. [0006] Method according to claim 1, characterized in that the preparation parameters include at least one of a ratio of an amount of water to an amount of ground coffee beans, a water temperature, an amount of time in which water and ground coffee beans are stirred, an amount of time in which water and ground coffee beans immerse, an extraction pressure, and a packing pressure for ground coffee beans. [0007] 7. Method according to claim 6, characterized in that the method additionally comprises sending the preparation parameter to an interface, in which the device settings to reach a particular preparation parameter with a device are stored in the database. data, and where the device is an extraction unit and the interface is connected to a processor controlling the extraction unit, the method additionally comprising sending configurations to the extraction unit associated with the amount of time that the ground water and coffee they are stirred and the amount of time the water and ground coffee beans immerse into the processor to control the extraction unit. [0008] 8. Computer-readable media, characterized by the fact that it stores instructions, which when executed on a processor, cause a computer to rezlie a method to control the preparation of a coffee drink comprising the steps of: receiving an identifier for the drink of coffee, the identifier associated with a preparation parameter where the preparation parameter includes a grind size of the coffee beans; send first instructions to a grinder to set the grinder to a first setting to produce first ground coffee beans according to the grinding size of the coffee beans in the preparation parameter; obtain an image of a portion of the first ground coffee beans, produced according to the first instructions, and a calibration mark; and send second instructions to the grinder to adjust the grinder to a second setting for grinding the first ground coffee beans to produce second ground coffee beans based on the grind size of the ground coffee beans associated with the grinder and grinder size determined from the first ground coffee beans. [0009] 9. Computer-readable media according to claim 8, characterized by the fact that the identifier is encoded in machine-readable media spun into a container to transport coffee beans in an unground state. [0010] 10. Computer-readable media according to claim 9, characterized by the fact that the machine-readable encoded media comprises at least one of a barcode, a QR code, an RFID tag, and a URI code identifier. [0011] 11. Computer-readable media according to claim 8, characterized by the fact that the preparation parameter including the grinding size of the coffee beans includes at least one of a particle diameter distribution, particle area distribution, distribution of particle volume, minimum particle size, maximum particle size and a standard deviation, and determining the grind size of the coffee beans includes determining, for the ground coffee beans, at least one of the particle diameter distribution, particle area distribution, particle volume distribution, minimum particle size, maximum particle size and standard deviation included in the grinding size parameter.
类似技术:
公开号 | 公开日 | 专利标题 BR112015022341B1|2021-01-19|computer-implemented method to control the preparation of a coffee drink, and computer-readable media US9863861B2|2018-01-09|Method and apparatus for particle size determination US8495950B2|2013-07-30|Method and apparatus for brewing coffee via universal coffee brewing chart generation JP2019034227A5|2019-04-18| BR112012017253B1|2022-02-15|Method and apparatus for determining colorimetry data of a color sample from an image of the same DK2686834T3|2018-11-05|IMPROVED VIRTUAL TEST ON SIMULATION DEVICE US7952697B2|2011-05-31|Coffee refractometer method and apparatus CN103764024A|2014-04-30|Medical image imaging device CN108230397A|2018-06-29|Multi-lens camera is demarcated and bearing calibration and device, equipment, program and medium Wighton et al.2011|Chromatic aberration correction: an enhancement to the calibration of low‐cost digital dermoscopes Duran et al.2015|A demosaicking algorithm with adaptive inter-channel correlation Stamatopoulos2011|Orientation and calibration of long focal length cameras in digital close-range photogrammetry Marroquim et al.2011|Texturing 3D models with low geometric features Marroquim et al.2012|Texturing 3D models from sequential photos TW545068B|2003-08-01|Positioning method for color-correction draft of image input system WO2010042455A1|2010-04-15|Method and apparatus for brewing coffee via universal coffee brewing chart generation Crosby et al.2002|Sequential approach to three-dimensional geometric image correction Khan et al.2007|Pan-sharpening using induction
同族专利:
公开号 | 公开日 US10342386B2|2019-07-09| BR112015022341A2|2019-11-26| AU2014248876A1|2015-10-01| CA2903119A1|2014-10-09| JP6681458B2|2020-04-15| JP6449226B2|2019-01-09| AU2018267547A1|2018-12-06| US20140263780A1|2014-09-18| WO2014164903A2|2014-10-09| JP2019034227A|2019-03-07| AU2018267547B2|2020-06-25| CN105283104A|2016-01-27| CN105283104B|2019-06-18| JP2016521139A|2016-07-21| KR20150127659A|2015-11-17| EP2967248A2|2016-01-20| KR102214433B1|2021-02-08| NZ712219A|2019-03-29| CA2903119C|2021-07-06| HK1220876A1|2017-05-19|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 DE4004699A1|1990-02-15|1991-08-22|Krieg Gunther|Photographically measuring size distribution of ground coffee - taken by gas stream through transverse light beam| US7223427B2|1999-06-21|2007-05-29|Bunn-O-Matic Corporation|Beverage maker interface| US7419692B1|1999-10-28|2008-09-02|Xcafe, Llc|Methods and systems for forming concentrated consumable extracts| EP1476377B1|2002-01-23|2007-07-25|Michael R. Caswell|Coffee dispensing device and method| GB2409965B|2003-01-24|2005-09-21|Kraft Foods R & D Inc|A system and method for the preparation of beverages| JP2004267540A|2003-03-10|2004-09-30|Hoshizaki Electric Co Ltd|Coffee brewer| CN100544652C|2003-12-27|2009-09-30|托本·马利凯|Autoproportioner| DE102004002004A1|2004-01-14|2005-08-11|Schifferle, René|Coffee machine for brewing coffee powder packaged in a capsule| EP1626375A1|2004-08-10|2006-02-15|Tuttoespresso S.p.a.|Apparatus and method for dispensing machine control| EP1994866A1|2007-05-23|2008-11-26|Rhea Vendors S.p.A.|Device for grinding coffee or other alimentary substances| NZ591851A|2008-09-17|2013-10-25|Koninkl Douwe Egberts Bv|System for preparing a coffee beverage| EP2364624B1|2010-02-17|2014-05-07|Koninklijke Douwe Egberts B.V.|Coffee beverage system, coffee brewing apparatus| WO2011116247A2|2010-03-19|2011-09-22|Concordia Coffee Company, Inc.|Method and apparatus for controlling brewed beverage quality| CN103596473B|2010-12-16|2017-05-17|布里格有限公司|Apparatus and method for brewed and espresso drink generation| BR112015020944B1|2013-02-28|2020-12-08|Neil M. Day E Jing Dong|computer-implemented method of determining a particle size, and, computer-readable media| US9154547B2|2013-03-14|2015-10-06|Blossom Coffee, Inc.|Methods for brewing coffee| US9591862B2|2013-03-14|2017-03-14|Blossom Coffee, Inc.|Method for brewing a beverage| US9940004B2|2013-03-15|2018-04-10|Gregory Mayworm|Methods and systems for predicting and evaluating coffee characteristics| EP2862448A1|2013-10-15|2015-04-22|DMK Deutsches Milchkontor GmbH|Water soluble coffee compositions| AU2015261613A1|2014-12-18|2016-07-07|Gruppo Cimbali S.P.A.|Method of analysing ground coffee|US9940004B2|2013-03-15|2018-04-10|Gregory Mayworm|Methods and systems for predicting and evaluating coffee characteristics| US20160022087A1|2014-07-24|2016-01-28|Teforia Company|Apparatus And Method Of Multi-Course Infusion For Brewing Tea And Other Beverages| WO2017147524A1|2016-02-26|2017-08-31|Teforia Company|Apparatus and method of multi-course infusion for brewing tea and other beverages| US10722065B2|2014-07-24|2020-07-28|Adagio Teas, Inc.|Apparatus and method of multi-course infusion for brewing tea and other beverages| ITUB20151304A1|2015-05-27|2016-11-27|Fiorenzato M C Srl|AUTOMATIC CALIBRATION PROCEDURE FOR COFFEE GRINDER-DOSING DEVICES WITH WEIGHING DEVICE AND ELECTRONIC GRINDER-DOSING DEVICE.| US10317274B2|2015-11-18|2019-06-11|Whirlpool Corporation|Coffee grinder with integrated scale| US10595668B2|2016-01-28|2020-03-24|Keurig Green Mountain, Inc.|Beverage preparation machine arranged to share capsule image and machine operation data| ITUA20163939A1|2016-05-30|2017-11-30|De Longhi Appliances Srl|AUTOMATIC MACHINE FOR DRINKING BEVERAGES| NL2017284B1|2016-08-03|2018-02-14|Douwe Egberts Bv|System and method for preparing a beverage field and background| NL2017285B1|2016-08-03|2018-02-14|Douwe Egberts Bv|System, apparatus, method, capsule and kit of capsules for preparing a beverage| NL2017279B1|2016-08-03|2018-02-14|Douwe Egberts Bv|System for preparing a beverage| NL2017281B1|2016-08-03|2018-02-14|Douwe Egberts Bv|System for preparing a beverage| NL2019218B1|2016-08-03|2018-07-06|Douwe Egberts Bv|Capsule, system and use of the system for preparing double beverages like a double espresso, a double lungo and a double ristretto| AU2017353771A1|2016-11-02|2019-06-06|Société des Produits Nestlé S.A.|Flow-optimized pour over coffee brewing system| WO2018108642A1|2016-12-15|2018-06-21|Koninklijke Philips N.V.|A monitoring apparatus and a food processing device using the same| CN106955026A|2017-03-20|2017-07-18|北京咖趣科技有限公司|A kind of coffee machine calibration method and device| KR102149013B1|2017-07-10|2020-08-31|주식회사 스페이스디|3D latte art printer| US10719701B2|2018-04-25|2020-07-21|Accenture Global Solutions Limited|Optical character recognition of connected characters| IT201800006645A1|2018-06-26|2019-12-26|"Adjustment method for coffee grinder"| JP6708912B2|2018-08-07|2020-06-10|株式会社Tree Field|Apparatus, method and program, and system| US10455984B1|2019-02-26|2019-10-29|TRI Innovations LLC|Container| DE102019105427A1|2019-03-04|2020-09-10|Wolfgang Mock|Method and device for the preparation of granular grist or grist mixtures| KR102068124B1|2019-04-05|2020-01-20|임은성|Coffee bean grinder| KR102056214B1|2019-04-05|2019-12-16|임은성|Coffee bean grinder and operation method of the same|
法律状态:
2019-12-10| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2020-02-04| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2020-12-08| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2021-01-19| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 11/03/2014, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US201361776619P| true| 2013-03-11|2013-03-11| US61/776619|2013-03-11| PCT/US2014/023747|WO2014164903A2|2013-03-11|2014-03-11|Method and apparatus for replicating coffee flavor| US14/205044|2014-03-11| US14/205,044|US10342386B2|2013-03-11|2014-03-11|Method and apparatus for replicating coffee flavor| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|